Julia 可变数量实参函数
阐述
对可变数量实参进行类型标注,甚至参数化:
julia> bar(a,b,x::Vararg{Any,2}) = (a,b,x)
bar (generic function with 1 method)
function getindex(A::AbstractArray{T,N}, indices::Vararg{Number,N}) where {T,N}
当只需要限定类型时,可以采用 T...
的简化格式:
f(x::Int...) = x
也可以省略类型接收任何参数:
bar(a, b, x...) = (a, b, x)
相反地,在给函数传参时,也可以在实参后面添加 ...
来把它分解为多个实参。
实例
bar(1,2) #(1, 2, ())
bar(1,2,3,4,5,6) #(1, 2, (3, 4, 5, 6))
bar([1,2,3,4]...) #(1, 2, (3, 4))